package com.itcast.order.handler;

import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * @author itcast
 * @create 2024-07-19 17:31
 */
@Slf4j
@Component
public class CheckupReportHandler {

    /**
     * 批量生成体检报告
     * 每10分钟执行一次
     */
    @XxlJob(value = "bathGenerateReport")
    public void bathGenerateReport() {
        //查询未生成报告的体检单

        //自定义线程池

        //遍历体检单生成体检报告

        //对体检单id加锁，只允许同一时刻只有一个线程在处理该条数据

        //获取体检报告数据

        //生成html文件流

        //html文件流转为pdf文件流

        //pdf文件流上传到oss

        //构建体检报告实体类并保存

        //更新体检单生成状态

        //订单状态修改为已完成

    }
}
